import json
import os


# 创建目录
def create_directory(directory_path):
    try:
        os.makedirs(directory_path)
        print(f"Directory '{directory_path}' created successfully.")
    except FileExistsError:
        print(f"Directory '{directory_path}' already exists.")


# 列出指定目录下的文件
def list_files(directory_path):
    files = os.listdir(directory_path)
    print(f"Files in '{directory_path}': {files}")


# 列出指定目录下的文件
def get_files_list(directory_path):
    files_list = os.listdir(get_abs_file_path(directory_path))
    return files_list


# 删除文件
def delete_file(file_path):
    try:
        os.remove(file_path)
        print(f"File '{file_path}' deleted successfully.")
    except FileNotFoundError:
        print(f"File '{file_path}' not found.")


# 判断文件是否存在
def does_file_exist(file_path):
    # 使用os.path.exists()方法检查文件是否存在
    return os.path.exists(file_path)


# 判断文件是否存在
def does_directory_exist(directory_path):
    # 使用os.path.exists()方法检查文件夹是否存在
    return os.path.exists(directory_path)


# 获取文件的绝对路径
def get_abs_file_path(file_path):
    # 如果是绝对路径就直接返回
    if os.path.isabs(file_path):
        return file_path
    script_path = os.path.abspath(__file__)
    # 获取项目的根目录（假设项目的根目录在脚本所在目录的上几级）
    project_root = os.path.dirname(os.path.dirname(script_path))
    project_file_path = project_root
    paths = file_path.split('/')
    for path in paths:
        project_file_path = os.path.join(project_file_path, path)
    return project_file_path


# 获取文件扩展名
def get_file_extension(file_path):
    return os.path.splitext(file_path)[1][1:]


def get_base_name(url):
    # 从 URL 中提取文件名
    return os.path.basename(url)


if __name__ == "__main__":
    mongodb_database_pass = os.environ.get("MONGODB_DATABASE_PASS")
    print(os.environ)
    print(mongodb_database_pass)
    # 使用封装的类
    # create_directory("my_directory")
    # list_files("my_directory")
    # delete_file("my_directory/my_file.txt")

